In recent years, there has been an exponential growth in the use of various online social network applications such as Facebook, Twitter, Flickr, YouTube and Blogger, for example. In general, social network applications are implemented using a computing system that is capable of serving millions of users at a given time using thousands of clustered compute nodes (servers) located within data centers that reside in various geographical locations around the world. Various industries such as media channels, political agencies, sports clubs, advertisement agencies and online gaming businesses, for example, rely on social networks to communicate with their audience and to obtain user information. One primary consideration for data storage scaling of online social networks is the ability to optimally allocate and manage user data (e.g., user feeds, status, pictures, videos, files, articles, gaming data, etc.) in storage nodes within the data centers to thereby reduce access time and minimize the costs of storage and intra-cluster communication. With social network applications, users will access their own data, as well as interact with and access the data of other users. Accordingly, the scope of user interactions in social networks poses significant challenges to optimizing data allocation.